#ifndef __FS_H_
#define __FS_H_

#ifdef __cplusplus
extern "C" {
#endif

#include <common.h>
#include <hd.h>
#include <memory.h>


#define SYS_SEC_NUM         (10*1024*1024/SEC_SIZE)                 // 人为规定硬盘前 10M 空间用于存放系统本身，10M 后才用于文件系统
#define FS_SEC_NUM          (GetHardDiskSectors() - SYS_SEC_NUM)    // 文件系统管理的硬盘扇区数 = 硬盘总扇区数 - 操作系统本身占用的扇区数

// 定义文件读写底层接口，文件读写以扇区为单位，顾 buf 大小为 SEC_SIZE
#define FS_WRITE(sn, buf)   HardDiskWrite((sn)+SYS_SEC_NUM, (U08 *)(buf))
#define FS_READ(sn, buf)    HardDiskRead((sn)+SYS_SEC_NUM, (U08 *)(buf))
#define FS_MALLOC(size)     Malloc((size))
#define FS_FREE(p)          Free((p))

#ifdef __cplusplus
}
#endif

#endif

